<html>
<body>
Reports unsafe operations with <code>this</code> during object construction including:

<ul>
  <li>Accessing a non-final property during class initialization: from a constructor or property initialization</li>
  <li>Calling a non-final function during class initialization</li>
  <li>Using <code>this</code> as a function argument in a constructor of a non-final class</li>
</ul>

<p>
    If other classes inherit from the given class,
    they may not be fully initialized at the moment when an unsafe operation is carried out.
</p>
<p><b>Example:</b></p>
<pre><code>
  <b>abstract class</b> Base {
      <b>val</b> code = calculate()
      <b>abstract fun</b> calculate(): Int
  }

  <b>class</b> Derived(<b>private val</b> x: Int) : Base() {
      <b>override fun</b> calculate() = x
  }

  <b>fun</b> testIt() {
      println(Derived(42).code) <i>// Expected: 42, actual: 0</i>
  }
</code></pre>
</body>
</html>
